// 用于正则

//判断是否包含中文，用法：regzh.test(value) 包含返回false，否则返回true
const regzh = /[\u4E00-\u9FA5]/g

//去除中文，       用法：value.replace(regzhClear, '');
const regzhClear = /[\u4E00-\u9FA5]/g

//校验正整数就返回true
function isIntNum(val) {
    var regPos = / ^\d+$/; // 非负整数
    if (regPos.test(val)) {
        return true;
    } else {
        return false;
    }
}

//判断有数字 var b = p.test(string);//true
const hasNumber = /[0-9]/
//判断有字母 var b = p.test(string);//true
const hasLetter = /[a-z]/i
//判断有特殊字符
const hasSymbol = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im
//验证链接地址
const regLink = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g

//统计变量中指定字符串的数量
function getStrCount(data, str) {
    const regex = new RegExp(str, 'g'), // 使用g表示整个字符串都要匹配
        result = data.match(regex);
    return !result ? 0 : result.length;
}

//验证是否为邮箱
function isEmail(val) {
    const pattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
    if (pattern.test(val)) {
        return true
    } else {
        return false
    }
}

export { regzh, regzhClear, isIntNum, hasNumber, hasLetter, hasSymbol, regLink, getStrCount, isEmail }